package com.sishu.njrtsdms.domain.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import org.jooq.types.ULong;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;


/**
 * 字典数据响应类
 *
 * @param dictTypeId     字典类型id
 * @param parentId       父id
 * @param ancestors      祖级id列表数组
 * @param dictTypeName   字典类型名称
 * @param dictTypeCode   字典类型编码
 * @param desc           描述
 * @param isLast         是否是叶子节点
 * @param isValid        是否有效
 * @param createBy       创建人
 * @param createDateTime 创建日期时间
 * @param updateBy       修改人
 * @param updateDateTime 最后一次修改时间
 * @param remark         备注
 * @param children       子字典类型
 */
public record DictTypeVO(
        ULong dictTypeId,
        ULong parentId,
        String ancestors,
        String dictTypeName,
        String dictTypeCode,
        String desc,
        Boolean isLast,
        Boolean isValid,
        UserSimpleVO createBy,
        LocalDateTime createDateTime,
        UserSimpleVO updateBy,
        LocalDateTime updateDateTime,
        String remark,
        @JsonIgnore
        List<DictTypeVO> children
) implements Serializable {
}
